Arquivo 1.txt
1.1 Caminho
file_path = "E:\Python Project\temp.txt"
with open(file_path) as f:
content1 = f.read()
Ao importar um arquivo, se você colocar diretamente o caminho absoluto do arquivo, um erro será relatado, porque \P é um caractere de escape.
Portanto, adicionar r na frente do caminho absoluto pode evitar que o conteúdo entre aspas seja reconhecido como caracteres de escape (adicionar f na frente das aspas indica que esta é uma string com um formato especial, que pode incluir chaves {} e expressões dentro deles. , onde {} é preenchido com o valor da expressão)
file_path = r"E:\Python Project\temp.txt"
with open(file_path) as f:
content1 = f.read()
Ou você pode usar caminhos relativos diretamente
file_path = "temp.txt"
with open(file_path) as f:
content1 = f.read()
Os caminhos relativos identificam a pasta atual por padrão
1.2 Leitura de arquivo
Python pode ler arquivos usando
with open(file_path) as f:
f.read()
Também pode ser escrito, com o mesmo efeito. Claro, open(file,'r') pode adicionar o atributo read do arquivo.
file_path = r"E:\Python Project\temp.txt"
f = open(file_path)
O conteúdo do arquivo pode ser lido através de read, readline e readlines, respectivamente, para ler o arquivo inteiro, uma linha ou todas as linhas e colocá-las na lista. O conteúdo lido anteriormente não será lido posteriormente.
Arquivo 2.xlsx
2.1 Leitura de arquivos
Você pode usar excel_read() da biblioteca panda
import pandas
f = pandas.read_excel(r"E:\Python Project\1.xlsx")
print(f)
Você também pode usar diretamente open_workbook() da biblioteca xlrd, mas a versão mais recente da biblioteca xlrd excluiu o suporte para xlsx;
import xlrd
f = xlrd.open_workbook_xls(r"E:\Python Project\1.xlsx")
Você também pode usar load_workbook() do openpyxl
import openpyxl as xl
f = xl.load_workbook('1.xlsx')
3. Exercício: Execute o processamento de funções simples nos dados do arquivo
Cálculo dos coeficientes de Pearson para a primeira e segunda colunas de dados no arquivo xlsx
import openpyxl
import pandas
import math
f = pandas.read_excel(r"E:\Python Project\1.xlsx")
data1 = f.values
print(type(data1))
sum_ans0 = 0
sum_ans1 = 0
for i in data1:
sum_ans0 += i[0]
sum_ans1 += i[1]
ave_ans0 = sum_ans0 / len(data1)
ave_ans1 = sum_ans1 / len(data1)
sum_final0 = 0
sum_final1 = 0
sum_final2 = 0
for temp_i in data1:
sum_final0 += (temp_i[0] - ave_ans0) * (temp_i[1] - ave_ans1)
sum_final1 += math.pow((temp_i[0] - ave_ans0), 2)
sum_final2 += math.pow((temp_i[1] - ave_ans1), 2)
pearson = sum_final0/(math.sqrt(sum_final1) * math.sqrt(sum_final2))
print(f"Pearson={pearson}")
Depois de obter f, obtenha a lista de dados por meio de f.value e percorra os dados da lista para resolvê-la.
A travessia também pode ser alcançada através de sheet.cell em openpyxl
import openpyxl as xl
f = xl.load_workbook('1.xlsx')
sheet = f['Sheet1']
cell = sheet.cell(1, 1)
print(cell.value)
list_ans = []
for row in range(1, sheet.max_row + 1):
list_ans.append([sheet.cell(row, 1).value, sheet.cell(row, 2).value])
3.1 Otimização da soma da lista bidimensional
O exercício acima envolve uma lista bidimensional que requer a soma do primeiro número e do segundo número de cada lista, respectivamente.
3.1.1 para travessia
A maneira mais simples é percorrer a lista diretamente com for
import openpyxl
import pandas
import math
f = pandas.read_excel(r"E:\Python Project\1.xlsx")
data1 = f.values
print(type(data1))
sum_ans0 = 0
sum_ans1 = 0
for i in data1:
sum_ans0 += i[0]
sum_ans1 += i[1]
3.1.2soma
A aplicação direta de soma a listas multidimensionais pode resultar em somas correspondentes, respectivamente.
import openpyxl
import pandas
import math
f = pandas.read_excel(r"E:\Python Project\1.xlsx")
data1 = f.values
print(type(data1))
sum_ans1 = sum(data1)
3.2 Desenho de gráfico de barras
import openpyxl as xl
from openpyxl.chart import BarChart, Reference
f = xl.load_workbook('1.xlsx')
sheet = f['Sheet1']
cell = sheet.cell(1, 1)
print(cell.value)
list_ans = []
for row in range(1, sheet.max_row + 1):
list_ans.append([sheet.cell(row, 1).value, sheet.cell(row, 2).value])
plot_data = Reference(sheet, min_col=1, max_col=2, min_row=1, max_row=sheet.max_row)
chart = BarChart()
chart.add_data(plot_data)
sheet.add_chart(chart, 'c1')
f.save('1.xlsx')