不带open()函数的csv.reader

2024-09-25 00:30:21 发布

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

我想在不使用open()函数的情况下读取CSV文件

file.txt
'xxr'|'wer'|'xxr'|'xxr'
'xxt'|'dse'|'xxt'|'xxt'
'xxv'|'cad'|'xxv'|'xxv'
'xxe'|'sdf'|'xxe'|'xxe'
'xxw'|'sder'|'xxw'|'xxw'
'xxz'|'csd'| 'xxz'| 'xxz'

我尝试过这个,但它无法打开文件。只需使用'file.txt'作为字符串

file = ('file.txt')
reader = csv.reader(file,delimiter="|")
mylist = list(reader)

不能使用常规的with open('file.txt', 'r')

原因:由于目录函数限制(不是权限问题),客户正在将此数据管道发送到不支持open()函数的平台

我也不能作为Dataframe阅读,因为它们是非结构化列表,而且这个模板要简单得多

这是使用spark从python脚本到数据梦想的转换。有点奇怪。。。但它们可以繁殖熊猫和裸鼠。他们不能使用函数open()with

有什么想法吗


Tags: 文件数据函数txtwith情况openreader
2条回答

您可以使用^{},尽管我不确定模块如何处理打开文件的问题,以及它是否与open函数不同,但它确实允许使用一个流按顺序打开多个文件,并且似乎允许在读取文件的方式上具有更大的灵活性:

import fileinput

with fileinput.input('file.txt') as f:
    reader = csv.reader(file,delimiter="|")
    mylist = list(reader)

这没有什么错:

reader = csv.reader(open(file),delimiter="|")

或与pandas一起:

import pandas as pd
mylist = pd.read_csv(file, sep="|").to_numpy().tolist()

相关问题 更多 >