你好,我有一个数据库,我正试图从中快速制作一个 .csv 文件。
我的数据是这样的。
Song_Name,File_Name,Artist_Name,Artist_ID
Song1,filename1,artistname,artist001
Song1,filename1,artistname,artist001
Song1,filename1,artistname,artist001
Song1,filename1,artistname,artist001
这就是我需要的样子。
Song_Name,,File_Name,Artist_Name,,Artist_ID
Song1,,filename1,artistname,,artist001
Song1,,filename1,artistname,,artist001
Song1,,filename1,artistname,,artist001
Song1,,filename1,artistname,,artist001
什么是最好的方法。谢谢。
请您参考如下方法:
只需编写 None 或空字符串 '' 即可在 CSV 文件中插入空白“列”。
例如:
with open('songs.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(
['Song_Name', None, 'File_Name', 'Artist_Name', None, 'Artist_ID']
) # Write headers
# Now you iterate over your data:
for row in data:
writer.writerow([row['song_name'], None, row['file_name'], ...])
您的 CSV 文件将正确包含空白列所需的额外逗号,如果需要,还包括尾随逗号。
如果您使用 DictWriter ,那就更简单了。您只是不使用要遗漏的键填充字典:
with open('songs.csv', 'w', newline='') as f:
headers = ['Song_Name', None, 'File_Name', ...]
writer = csv.DictWriter(f, fieldnames=headers)
writer.writeheader()
# Now write a sample row:
row = {'Song_Name': 'Dumb', 'Artist_Name': 'Nirvana'}
writer.writerow(row) # Automatically skips missing keys
