如何将csv文件导入数据数组?

2024-04-24 07:43:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个脚本中有一行代码,它从一个文本文件中导入数据,在值之间有很多空格,以便以后使用。

textfile = open('file.txt')
data = []
for line in textfile:
    row_data = line.strip("\n").split()
    for i, item in enumerate(row_data):
        try:
            row_data[i] = float(item)
        except ValueError:
            pass
    data.append(row_data)

我需要把这个从文本文件改成csv文件。我不想仅仅将此文本更改为以逗号分隔(因为有些值在引号中可以有逗号)。幸运的是,我看到有一个csv库可以导入来处理这个问题。

import csv
with open('file.csv', 'rb') as csvfile:
    ???

如何将csv文件加载到数据数组中?

如果有区别,这就是数据的使用方式:

row = 0
for row_data in (data):
    worksheet.write_row(row, 0, row_data)
    row += 1

Tags: 文件csv数据in脚本fordataline
2条回答

假设csv文件用逗号分隔,那么在Python 3中使用csv模块的最简单方法可能是:

import csv

with open('testfile.csv', newline='') as csvfile:
    data = list(csv.reader(csvfile))

print(data)

对于Python 2,使用open('testfile.csv', 'rb')打开文件。

您可以使用pandas库或numpy读取CSV文件。如果文件是制表符分隔的,则在下面的sepdelimiter参数中使用“\t”代替逗号。

import pandas as pd 
myFile = pd.read_csv('filepath', sep=',')

或者

 import numpy as np
 myFile = np.genfromtxt('filepath', delimiter=',')

相关问题 更多 >